[年末年始にやってみよう]DockerDesktopでイメージ管理を行いながらDockerの知見を高めてみる
はじめに
業務でDockerfileを直接触るようになって以来、勘違いしていたことが多数あるとわかり、公式ドキュメントとにらめっこすることが増えました。中でも、とにかく重いという印象しかなかったDockerDesktopについては使い方を理解することで大幅に手間が省けています。
「今更Dockerで悩んでるの?」とさされるのが億劫で避けていたりとか、「これから触らないといけないけど前提知識として当然みたいな感じで訊けない」という人向けにざっくりまとめてみました。
Dockerについて
AnsibleやChefなど、Infrastructure as Code(IaC)について理解のある方であれば、仮想環境自体のIoCというと分かりやすいかもしれません。「IoCがわかっているのにDockerについて分かっていないのは可笑しい」と言われそうですが、分かってなかった一人が私です。(よくわからんけどOSが立ち上がる仕組みみたいな風にみてました。)
Dockerの詳細解説については、IoCの概要やコマンドサンプル及び実例を交えて解説しているさくらのナレッジをおすすめします。
Dockerfileについて
Dockerの概要が分かったとして、実際に使うためにはDockerfileを作成する必要があります。これも書き方がさくらのナレッジに掲載されています。
上記記事にも触れられていますが、意識すべきはキャッシュです。動作検証中に嫌になるほど実感すると思いますが、基本的に必要になる部分が中々固まらない場合はビルド時間が大幅に掛かってしまいます。
GUIでイメージの管理を手軽く行う
Dockerfileを使ってビルドしているうちにイメージファイルが大量に蓄積されていきます。必要なファイルなら問題ないのですが、不要になったファイルはディスクを大きく圧迫する原因になります。全く手入れをしていない場合は気がつけば10GB以上の容量を占める状況になるのではないでしょうか。
DockerDesktopはダウンロード済みのイメージファイルや、ビルドしたものの不要になってそのままにしているファイルなどが一覧として表示され、UI上からイメージの停止や削除が1クリックで可能になります。未使用のファイルに絞って一括削除できる機能など、とても便利です。
既存のイメージ管理についてDockerDesktopで特に追加設定は要りません。
不要なイメージの削除
ダッシュボードを開いてImagesを選択します。「Clean up…」を選択し、
「Unused」にチェックをいれます。
すると削除対象になる未使用イメージがフォーカスされます。
「Remove」を選択することで削除が行われます。
不要なコンテナの削除
Container / Appsを選択します・削除したいコンテナが動作してる場合は「STOP」を選択します。
ステータスがEXITEDになったことを確認したら、「DELETE」を選択します。
あとがき
Docker及びDockerfileを利用する上で一番最初に覚えておきたいステップについて触れてみました。苦手意識のある方でも問題無く踏み込めるのではないかと思います。
手元のMacBookがM1の場合でも、Apple M1チップ対応のプレビューバージョンがダウンロード可能になっています。年末年始にDocker慣れするのもおすすめです。
参考リンク
- Docker入門(第一回)~Dockerとは何か、何が良いのか~ | さくらのナレッジ - https://knowledge.sakura.ad.jp/
- Docker入門(第四回)~Dockerfileについて~ | さくらのナレッジ - https://knowledge.sakura.ad.jp/
- Docker Desktop for Mac and Windows | Docker - https://www.docker.com/
- Download and Try the Tech Preview of Docker Desktop for M1 - Docker Blog - https://www.docker.com/